<!DOCTYPE html>
<html lang="en">

<head>
    <meta charset="UTF-8">
    <meta http-equiv="X-UA-Compatible" content="IE=edge">
    <meta name="viewport" content="width=device-width, initial-scale=1.0">
    <title>Document</title>
    <style>

    </style>
</head>

<body>
    <canvas id="myCanvas" width="800" height="800">谢谢惠顾</canvas>
    <script>
        var c = document.getElementById("myCanvas");
        var ctx = c.getContext("2d");

        // 目标图像  已存在的图像
        ctx.fillStyle = "red";
        ctx.fillRect(100, 100, 200, 200);
        // 原图像 就是要插入的图像
        //     source-over	默认。在目标图像上显示源图像。
        ctx.globalCompositeOperation = "destination-out";
        ctx.fillStyle = "blue";
        ctx.fillRect(200, 200, 200, 200);

        // 原图像层级高
        // source-over	默认。在目标图像上显示源图像。
        // source-atop	在目标图像顶部显示源图像。源图像位于目标图像之外的部分是不可见的。会显示目标图片和遮盖的原图片
        // source-in	在目标图像中显示源图像。只有目标图像之内的源图像部分会显示，目标图像是透明的。  会显示在目标图片中超出的部分
        // source-out	在目标图像之外显示源图像。只有目标图像之外的源图像部分会显示，目标图像是透明的。  会显示源图片没有被遮盖的部分

        // 目标图像层级高
        // destination-over	在源图像上显示目标图像。
        // destination-atop	在源图像顶部显示目标图像。目标图像位于源图像之外的部分是不可见的。源图像是可见的   会显示原图片和遮盖的目标图片
        // destination-in	只显示源图像内部的目标图像   只有源图像之内的目标图像部分会被显示，源图像是透明的。 只显示目标图片
        // destination-out	只显示源图像外面的目标图像  只有源图像之外的目标图像部分会被显示，源图像是透明的。
        // lighter	显示源图像 + 目标图像。
        // copy	显示源图像。忽略目标图像。
        // xor 使用异或操作对源图像与目标图像进行组合。

   
    </script>
</body>

</html>